package com.ruoyi.business.vo;

import com.ruoyi.business.domain.TRegisterInfo;
import com.ruoyi.business.domain.TSureInfo;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.List;

/**
 * 报名信息Vo对象 t_register_info
 *
 * @author Tellsea
 * @date 2024-01-24
 */
@Data
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class TRegisterInfoVo extends TRegisterInfo {

    private List<TRegisterLearnVo> registerLearnVoList;

    private List<TRegisterWorkVo> registerWorkVoList;

    private List<TRegisterLanguageVo> registerLanguageVoList;

    private List<TAuditLogVo> auditLogVoList;

    private List<TUserOptLogVo> optLogVoList;

    /**
     * 录取通知
     */
    private TRegisterNoticeVo registerNoticeVo;


    /**
     * 通知模板
     */
    private TSureInfo tSureInfo;

    /**
     * 分配带教
     */
    private List<TRegisterAllocationVo> registerAllocationVoList;

    /**
     * 请假信息
     */
    private List<TRegisterLeaveVo> registerLeaveVoList;

    /**
     * 记录手册
     */
    private TRegisterManualVo registerManualVo;

    private List<FlowNodeVo> registerFlowList;

    /**
     * 学习流程
     */
    private List<WorkFlowNodeVo> workFlowList;

    /**
     * 工号
     */
    @Excel(name = "工号", sort = 1)
    private String jobNumber;

    @Excel(name = "报名信息ID列表")
    private List<Long> registerIdList;

    @Excel(name = "进修科室")
    private String registerDeptName;

    @Excel(name = "进修科室类型")
    private Long registerDeptType;

    @Excel(name = "招生类型")
    private String registerTypeName;

    @Excel(name = "考评评级人")
    private String scoreLevelUserName;
    private String scoreLevelNickName;

    @Excel(name = "审批状态")
    private String auditStatusName;

    @Excel(name = "通知状态")
    private String noticeStatusName;

    @Excel(name = "报到状态")
    private String sureStatusName;

    @Excel(name = "分配状态")
    private String allocationStatusName;

    @Excel(name = "考勤状态")
    private String leaveStatusName;

    @Excel(name = "考核状态")
    private String cultureStatusName;

    @Excel(name = "当前状态")
    private String currentStatusName;

    @Excel(name = "结业状态")
    private String graduationStatusName;

    @Excel(name = "结业审批状态")
    private String graduationAuditStatusName;

    @Excel(name = "评价状态")
    private String evaluateStatusName;

    @Excel(name = "缴费状态")
    private String payStatusName;

    private String qrCode;

    private String qrCodeKey;

    private List<Long> auditStatusList;

    private List<Long> graduationStatusList;

    /**
     * 是否鉴权
     */
    private Boolean noAuth;

    /**
     * 是否有证书（进修期限小于一个月的学员，结业审批通过后可查看下载相关证书）
     * 1-是
     */
    private Long certificateStatus;

    /**
     * 进修科室ID
     */
    private List<Long> registerDeptIdList;

    /**
     * 确认按时报道标记
     */
    private Long sureFlag;

    /**
     * 进度
     */
    @Excel(name = "进度")
    private BigDecimal progress;

    /**
     * 结业审批状态
     */
    private List<Long> graduationAuditStatusList;


    /**
     * 判断是否由后台管理员代理报名(0:否，1：是)
     */
    private Integer isAgent;

    /**
     * 是否分配带教模块
     */
    private Boolean isAllocationTeachModule;

    @Excel(name = "显微镜血管缝合培训（培训费2800）")
    private String joinMicrosutureTrainDesc;

    /**
     * 已签署状态个数
     */
    private Long signedStatus;
    /**
     * 未签署状态个数
     */
    private Long noSignStatus;
    /**
     * 签署状态，0:未签署，1：已签署
     */
    private Long signStatus;

    /**
     * 搜索范围结束时间
     */
    private String searchRangeEndDate;

    /**
     * 学生未签字查询，1：未签字
     */
    private Long studentNoSign;

    /**
     * 请假数据
     */
    private TRegisterLeaveStatVo leaveStat;

    /**
     * 支付没退款数据
     */
    private Long payNoRefund;

    /**
     *  请假状态描述
     */
    private String leaveStatusDesc;

    /**
     * 学员终止进修，1：终止
     */
    private Integer noEndStudy;

}
